home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Displays.p < prev    next >
Encoding:
Text File  |  1997-08-12  |  26.1 KB  |  610 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Displays.p
  3.  
  4.      Contains:    Display Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1993-1997 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Displays;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __DISPLAYS__}
  28. {$SETC __DISPLAYS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC DisplaysIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __CONDITIONALMACROS__}
  35. {$I ConditionalMacros.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __COMPONENTS__}
  38. {$I Components.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __VIDEO__}
  41. {$I Video.p}
  42. {$ENDC}
  43.  
  44. {$IFC UNDEFINED __APPLEEVENTS__}
  45. {$I AppleEvents.p}
  46. {$ENDC}
  47. {$IFC UNDEFINED __EVENTS__}
  48. {$I Events.p}
  49. {$ENDC}
  50. {$IFC UNDEFINED __PROCESSES__}
  51. {$I Processes.p}
  52. {$ENDC}
  53. {$IFC UNDEFINED __DIALOGS__}
  54. {$I Dialogs.p}
  55. {$ENDC}
  56.  
  57. {$PUSH}
  58. {$ALIGN MAC68K}
  59. {$LibExport+}
  60.  
  61. {$IFC UNDEFINED FOR_GLUE_LIB }
  62. {$SETC FOR_GLUE_LIB := 0 }
  63. {$ENDC}
  64.  
  65.  
  66. CONST
  67.                                                                 {  AppleEvents Core Suite  }
  68.     kAESystemConfigNotice        = 'cnfg';                        {  Core Suite types  }
  69.     kAEDisplayNotice            = 'dspl';
  70.     kAEDisplaySummary            = 'dsum';
  71.     keyDMConfigVersion            = 'dmcv';
  72.     keyDMConfigFlags            = 'dmcf';
  73.     keyDMConfigReserved            = 'dmcr';
  74.     keyDisplayID                = 'dmid';
  75.     keyDisplayComponent            = 'dmdc';
  76.     keyDisplayDevice            = 'dmdd';
  77.     keyDisplayFlags                = 'dmdf';
  78.     keyDisplayMode                = 'dmdm';
  79.     keyDisplayModeReserved        = 'dmmr';
  80.     keyDisplayReserved            = 'dmdr';
  81.     keyDisplayMirroredId        = 'dmmi';
  82.     keyDeviceFlags                = 'dddf';
  83.     keyDeviceDepthMode            = 'dddm';
  84.     keyDeviceRect                = 'dddr';
  85.     keyPixMapRect                = 'dpdr';
  86.     keyPixMapHResolution        = 'dphr';
  87.     keyPixMapVResolution        = 'dpvr';
  88.     keyPixMapPixelType            = 'dppt';
  89.     keyPixMapPixelSize            = 'dpps';
  90.     keyPixMapCmpCount            = 'dpcc';
  91.     keyPixMapCmpSize            = 'dpcs';
  92.     keyPixMapAlignment            = 'dppa';
  93.     keyPixMapResReserved        = 'dprr';
  94.     keyPixMapReserved            = 'dppr';
  95.     keyPixMapColorTableSeed        = 'dpct';
  96.     keySummaryMenubar            = 'dsmb';
  97.     keySummaryChanges            = 'dsch';
  98.     keyDisplayOldConfig            = 'dold';
  99.     keyDisplayNewConfig            = 'dnew';
  100.  
  101.     dmOnlyActiveDisplays        = 1;
  102.     dmAllDisplays                = 0;
  103.  
  104.  
  105.                                                                 {  DMSendDependentNotification notifyClass  }
  106.     kDependentNotifyClassShowCursor = 'shcr';                    {  When display mgr shows a hidden cursor during an unmirror  }
  107.     kDependentNotifyClassDriverOverride = 'ndrv';                {  When a driver is overridden  }
  108.     kDependentNotifyClassDisplayMgrOverride = 'dmgr';            {  When display manager is upgraded  }
  109.  
  110.  
  111.                                                                 {  Switch Flags  }
  112.     kNoSwitchConfirmBit            = 0;                            {  Flag indicating that there is no need to confirm a switch to this mode  }
  113.     kDepthNotAvailableBit        = 1;                            {  Current depth not available in new mode  }
  114.     kShowModeBit                = 3;                            {  Show this mode even though it requires a confirm.  }
  115.     kModeNotResizeBit            = 4;                            {  Do not use this mode to resize display (for cards that mode drives a different connector).  }
  116.     kNeverShowModeBit            = 5;                            {  This mode should not be shown in the user interface.  }
  117.  
  118. {    Summary Change Flags (sticky bits indicating an operation was performed)
  119.     For example, moving a display then moving it back will still set the kMovedDisplayBit.
  120. }
  121.     kBeginEndConfigureBit        = 0;
  122.     kMovedDisplayBit            = 1;
  123.     kSetMainDisplayBit            = 2;
  124.     kSetDisplayModeBit            = 3;
  125.     kAddDisplayBit                = 4;
  126.     kRemoveDisplayBit            = 5;
  127.     kNewDisplayBit                = 6;
  128.     kDisposeDisplayBit            = 7;
  129.     kEnabledDisplayBit            = 8;
  130.     kDisabledDisplayBit            = 9;
  131.     kMirrorDisplayBit            = 10;
  132.     kUnMirrorDisplayBit            = 11;
  133.  
  134.  
  135.                                                                 {  Notification Messages for extended call back routines  }
  136.     kDMNotifyInstalled            = 1;                            {  At install time  }
  137.     kDMNotifyEvent                = 2;                            {  Post change time  }
  138.     kDMNotifyRemoved            = 3;                            {  At remove time  }
  139.     kDMNotifyPrep                = 4;                            {  Pre change time  }
  140.     kDMNotifyExtendEvent        = 5;                            {  Allow registrees to extend apple event before it is sent  }
  141.     kDMNotifyDependents            = 6;                            {  Minor notification check without full update  }
  142.     kDMNotifySuspendConfigure    = 7;                            {  Temporary end of configuration  }
  143.     kDMNotifyResumeConfigure    = 8;                            {  Resume configuration  }
  144.                                                                 {  Notification Flags  }
  145.     kExtendedNotificationProc    = $00010000;
  146.  
  147.  
  148. { types for notifyType }
  149.     kFullNotify                    = 0;                            {  This is the appleevent whole nine yards notify  }
  150.     kFullDependencyNotify        = 1;                            {  Only sends to those who want to know about interrelated functionality (used for updating UI)  }
  151.  
  152. { DisplayID/DeviceID constants }
  153.     kDummyDeviceID                = $00FF;                        {  This is the ID of the dummy display, used when the last “real” display is disabled. }
  154.     kInvalidDisplayID            = $0000;                        {  This is the invalid ID }
  155.     kFirstDisplayID                = $0100;
  156.  
  157.                                                                 {  bits for panelListFlags  }
  158.     kAllowDuplicatesBit            = 0;
  159.  
  160.                                                                 {  bits for nameFlags  }
  161.     kSuppressNumberBit            = 0;
  162.     kSuppressNumberMask            = 1;
  163.     kForceNumberBit                = 1;
  164.     kForceNumberMask            = 2;
  165.     kSuppressNameBit            = 2;
  166.     kSuppressNameMask            = 4;
  167.  
  168.  
  169.  
  170. { Constants for fidelity checks }
  171.     kNoFidelity                    = 0;
  172.     kMinimumFidelity            = 1;
  173.     kDefaultFidelity            = 500;                            {  I'm just picking a number for Apple default panels and engines }
  174.     kDefaultManufacturerFidelity = 1000;                        {  I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults) }
  175.  
  176.     kAnyPanelType                = 0;                            {  Pass to DMNewEngineList for list of all panels (as opposed to specific types) }
  177.     kAnyEngineType                = 0;                            {  Pass to DMNewEngineList for list of all engines }
  178.     kAnyDeviceType                = 0;                            {  Pass to DMNewDeviceList for list of all devices }
  179.     kAnyPortType                = 0;                            {  Pass to DMNewDevicePortList for list of all devices }
  180.  
  181. { portListFlags for DM_NewDevicePortList }
  182.                                                                 {  Should offline devices be put into the port list (such as dummy display)  }
  183.     kPLIncludeOfflineDevicesBit    = 0;
  184.  
  185.  
  186. { confirmFlags for DMConfirmConfiguration }
  187.     kForceConfirmBit            = 0;                            {  Force a confirm dialog  }
  188.     kForceConfirmMask            = $01;
  189.  
  190.  
  191. { Flags for displayModeFlags }
  192.     kDisplayModeListNotPreferredBit = 0;
  193.     kDisplayModeListNotPreferredMask = $01;
  194.  
  195.  
  196. { Flags for itemFlags }
  197.     kComponentListNotPreferredBit = 0;
  198.     kComponentListNotPreferredMask = $01;
  199.  
  200.  
  201.  
  202. TYPE
  203.     DMFidelityType                        = LONGINT;
  204. { AVID is an ID for ports and devices the old DisplayID type
  205.     is carried on for compatibility
  206. }
  207.     AVIDType                            = LONGINT;
  208.     DisplayIDType                        = AVIDType;
  209.     DMListType                            = Ptr;
  210.     DMListIndexType                        = LONGINT;
  211.     AVPowerStateRec                        = VDPowerStateRec;
  212.     AVPowerStateRecPtr                     = ^AVPowerStateRec;
  213.     AVPowerStatePtr                        = ^VDPowerStateRec;
  214.     DMComponentListEntryRecPtr = ^DMComponentListEntryRec;
  215.     DMComponentListEntryRec = RECORD
  216.         itemID:                    DisplayIDType;                            {  DisplayID Manager }
  217.         itemComponent:            Component;                                {  Component Manager }
  218.         itemDescription:        ComponentDescription;                    {  We can always construct this if we use something beyond the compontent mgr. }
  219.         itemClass:                ResType;                                {  Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices) }
  220.         itemFidelity:            DMFidelityType;                            {  How good is this item for the specified search? }
  221.         itemSubClass:            ResType;                                {  Subclass of group to put this panel.  Can use to do sub-grouping (eg volume for volume panel and mute panel) }
  222.         itemSort:                Point;                                    {  Set to 0 - future to sort the items in a sub group. }
  223.         itemFlags:                LONGINT;                                {  Set to 0 (future expansion) }
  224.         itemReserved:            ResType;                                {  What kind of code does the itemReference point to  (right now - kPanelEntryTypeComponentMgr only) }
  225.         itemFuture1:            LONGINT;                                {  Set to 0 (future expansion - probably an alternate code style) }
  226.         itemFuture2:            LONGINT;                                {  Set to 0 (future expansion - probably an alternate code style) }
  227.         itemFuture3:            LONGINT;                                {  Set to 0 (future expansion - probably an alternate code style) }
  228.         itemFuture4:            LONGINT;                                {  Set to 0 (future expansion - probably an alternate code style) }
  229.     END;
  230.  
  231.     DMComponentListEntryPtr                = ^DMComponentListEntryRec;
  232. {  ••• Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created }
  233.     AVLocationRecPtr = ^AVLocationRec;
  234.     AVLocationRec = RECORD
  235.         locationConstant:        LONGINT;                                {  Set to 0 (future expansion - probably an alternate code style) }
  236.     END;
  237.  
  238.     AVLocationPtr                        = ^AVLocationRec;
  239.     DMDepthInfoRecPtr = ^DMDepthInfoRec;
  240.     DMDepthInfoRec = RECORD
  241.         depthSwitchInfo:        VDSwitchInfoPtr;                        {  This is the switch mode to choose this timing/depth  }
  242.         depthVPBlock:            VPBlockPtr;                                {  VPBlock (including size, depth and format)  }
  243.         depthFlags:                UInt32;                                    {  VDVideoParametersInfoRec.csDepthFlags   }
  244.         depthReserved1:            UInt32;                                    {  Reserved  }
  245.         depthReserved2:            UInt32;                                    {  Reserved  }
  246.     END;
  247.  
  248.     DMDepthInfoPtr                        = ^DMDepthInfoRec;
  249.     DMDepthInfoBlockRecPtr = ^DMDepthInfoBlockRec;
  250.     DMDepthInfoBlockRec = RECORD
  251.         depthBlockCount:        LONGINT;                                {  How many depths are there?  }
  252.         depthVPBlock:            DMDepthInfoPtr;                            {  Array of DMDepthInfoRec  }
  253.         depthBlockFlags:        LONGINT;                                {  Reserved  }
  254.         depthBlockReserved1:    LONGINT;                                {  Reserved  }
  255.         depthBlockReserved2:    LONGINT;                                {  Reserved  }
  256.     END;
  257.  
  258.     DMDepthInfoBlockPtr                    = ^DMDepthInfoBlockRec;
  259.     DMDisplayModeListEntryRecPtr = ^DMDisplayModeListEntryRec;
  260.     DMDisplayModeListEntryRec = RECORD
  261.         displayModeFlags:        LONGINT;
  262.         displayModeSwitchInfo:    VDSwitchInfoPtr;
  263.         displayModeResolutionInfo: VDResolutionInfoPtr;
  264.         displayModeTimingInfo:    VDTimingInfoPtr;
  265.         displayModeDepthBlockInfo: DMDepthInfoBlockPtr;                    {  Information about all the depths }
  266.         displayModeReserved1:    Ptr;                                    {  Reserved }
  267.         displayModeName:        StringPtr;                                {  Name of the timing mode }
  268.     END;
  269.  
  270.     DMDisplayModeListEntryPtr            = ^DMDisplayModeListEntryRec;
  271.  
  272.     DependentNotifyRecPtr = ^DependentNotifyRec;
  273.     DependentNotifyRec = RECORD
  274.         notifyType:                ResType;                                {  What type was the engine that made the change (may be zero) }
  275.         notifyClass:            ResType;                                {  What class was the change (eg geometry, color etc) }
  276.         notifyPortID:            DisplayIDType;                            {  Which device was touched (kInvalidDisplayID -> all or none) }
  277.         notifyComponent:        ComponentInstance;                        {  What engine did it (may be 0)? }
  278.         notifyVersion:            LONGINT;                                {  Set to 0 (future expansion) }
  279.         notifyFlags:            LONGINT;                                {  Set to 0 (future expansion) }
  280.         notifyReserved:            LONGINT;                                {  Set to 0 (future expansion) }
  281.         notifyFuture:            LONGINT;                                {  Set to 0 (future expansion) }
  282.     END;
  283.  
  284.     DependentNotifyPtr                    = ^DependentNotifyRec;
  285. { Exports to support Interfaces library containing unused calls }
  286. {$IFC NOT FOR_GLUE_LIB }
  287. {$ENDC}
  288.  
  289.     DMNotificationProcPtr = ProcPtr;  { PROCEDURE DMNotification(VAR theEvent: AppleEvent); }
  290.  
  291.     DMExtendedNotificationProcPtr = ProcPtr;  { PROCEDURE DMExtendedNotification(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr); }
  292.  
  293.     DMComponentListIteratorProcPtr = ProcPtr;  { PROCEDURE DMComponentListIterator(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr); }
  294.  
  295.     DMDisplayModeListIteratorProcPtr = ProcPtr;  { PROCEDURE DMDisplayModeListIterator(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr); }
  296.  
  297.     DMNotificationUPP = UniversalProcPtr;
  298.     DMExtendedNotificationUPP = UniversalProcPtr;
  299.     DMComponentListIteratorUPP = UniversalProcPtr;
  300.     DMDisplayModeListIteratorUPP = UniversalProcPtr;
  301.  
  302. CONST
  303.     uppDMNotificationProcInfo = $000000C0;
  304.     uppDMExtendedNotificationProcInfo = $00000EC0;
  305.     uppDMComponentListIteratorProcInfo = $00000FC0;
  306.     uppDMDisplayModeListIteratorProcInfo = $00000FC0;
  307.  
  308. FUNCTION NewDMNotificationProc(userRoutine: DMNotificationProcPtr): DMNotificationUPP;
  309.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  310.     INLINE $2E9F;
  311.     {$ENDC}
  312.  
  313. FUNCTION NewDMExtendedNotificationProc(userRoutine: DMExtendedNotificationProcPtr): DMExtendedNotificationUPP;
  314.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  315.     INLINE $2E9F;
  316.     {$ENDC}
  317.  
  318. FUNCTION NewDMComponentListIteratorProc(userRoutine: DMComponentListIteratorProcPtr): DMComponentListIteratorUPP;
  319.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  320.     INLINE $2E9F;
  321.     {$ENDC}
  322.  
  323. FUNCTION NewDMDisplayModeListIteratorProc(userRoutine: DMDisplayModeListIteratorProcPtr): DMDisplayModeListIteratorUPP;
  324.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  325.     INLINE $2E9F;
  326.     {$ENDC}
  327.  
  328. PROCEDURE CallDMNotificationProc(VAR theEvent: AppleEvent; userRoutine: DMNotificationUPP);
  329.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  330.     INLINE $205F, $4E90;
  331.     {$ENDC}
  332.  
  333. PROCEDURE CallDMExtendedNotificationProc(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr; userRoutine: DMExtendedNotificationUPP);
  334.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  335.     INLINE $205F, $4E90;
  336.     {$ENDC}
  337.  
  338. PROCEDURE CallDMComponentListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr; userRoutine: DMComponentListIteratorUPP);
  339.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  340.     INLINE $205F, $4E90;
  341.     {$ENDC}
  342.  
  343. PROCEDURE CallDMDisplayModeListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr; userRoutine: DMDisplayModeListIteratorUPP);
  344.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  345.     INLINE $205F, $4E90;
  346.     {$ENDC}
  347.  
  348. { Trap interfaces }
  349.  
  350. {$IFC NOT FOR_GLUE_LIB }
  351. FUNCTION DMGetFirstScreenDevice(activeOnly: BOOLEAN): GDHandle;
  352.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  353.     INLINE $7000, $ABEB;
  354.     {$ENDC}
  355. FUNCTION DMGetNextScreenDevice(theDevice: GDHandle; activeOnly: BOOLEAN): GDHandle;
  356.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  357.     INLINE $7001, $ABEB;
  358.     {$ENDC}
  359. PROCEDURE DMDrawDesktopRect(VAR globalRect: Rect);
  360.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  361.     INLINE $7002, $ABEB;
  362.     {$ENDC}
  363. PROCEDURE DMDrawDesktopRegion(globalRgn: RgnHandle);
  364.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  365.     INLINE $7003, $ABEB;
  366.     {$ENDC}
  367.  
  368.  
  369. FUNCTION DMBeginConfigureDisplays(VAR displayState: Handle): OSErr;
  370.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  371.     INLINE $303C, $0206, $ABEB;
  372.     {$ENDC}
  373. FUNCTION DMEndConfigureDisplays(displayState: Handle): OSErr;
  374.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  375.     INLINE $303C, $0207, $ABEB;
  376.     {$ENDC}
  377. FUNCTION DMAddDisplay(newDevice: GDHandle; driver: INTEGER; mode: LONGINT; reserved: LONGINT; displayID: LONGINT; displayComponent: Component; displayState: Handle): OSErr;
  378.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  379.     INLINE $303C, $0D08, $ABEB;
  380.     {$ENDC}
  381. FUNCTION DMMoveDisplay(moveDevice: GDHandle; x: INTEGER; y: INTEGER; displayState: Handle): OSErr;
  382.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  383.     INLINE $303C, $0609, $ABEB;
  384.     {$ENDC}
  385. FUNCTION DMDisableDisplay(disableDevice: GDHandle; displayState: Handle): OSErr;
  386.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  387.     INLINE $303C, $040A, $ABEB;
  388.     {$ENDC}
  389. FUNCTION DMEnableDisplay(enableDevice: GDHandle; displayState: Handle): OSErr;
  390.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  391.     INLINE $303C, $040B, $ABEB;
  392.     {$ENDC}
  393. FUNCTION DMRemoveDisplay(removeDevice: GDHandle; displayState: Handle): OSErr;
  394.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  395.     INLINE $303C, $040C, $ABEB;
  396.     {$ENDC}
  397.  
  398.  
  399.  
  400. FUNCTION DMSetMainDisplay(newMainDevice: GDHandle; displayState: Handle): OSErr;
  401.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  402.     INLINE $303C, $0410, $ABEB;
  403.     {$ENDC}
  404. FUNCTION DMSetDisplayMode(theDevice: GDHandle; mode: LONGINT; VAR depthMode: LONGINT; reserved: LONGINT; displayState: Handle): OSErr;
  405.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  406.     INLINE $303C, $0A11, $ABEB;
  407.     {$ENDC}
  408. FUNCTION DMCheckDisplayMode(theDevice: GDHandle; mode: LONGINT; depthMode: LONGINT; VAR switchFlags: LONGINT; reserved: LONGINT; VAR modeOk: BOOLEAN): OSErr;
  409.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  410.     INLINE $303C, $0C12, $ABEB;
  411.     {$ENDC}
  412. FUNCTION DMGetDeskRegion(VAR desktopRegion: RgnHandle): OSErr;
  413.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  414.     INLINE $303C, $0213, $ABEB;
  415.     {$ENDC}
  416. FUNCTION DMRegisterNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  417.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  418.     INLINE $303C, $0414, $ABEB;
  419.     {$ENDC}
  420. FUNCTION DMRemoveNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  421.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  422.     INLINE $303C, $0415, $ABEB;
  423.     {$ENDC}
  424.  
  425. FUNCTION DMQDIsMirroringCapable(VAR qdIsMirroringCapable: BOOLEAN): OSErr;
  426.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  427.     INLINE $303C, $0216, $ABEB;
  428.     {$ENDC}
  429. FUNCTION DMCanMirrorNow(VAR canMirrorNow: BOOLEAN): OSErr;
  430.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  431.     INLINE $303C, $0217, $ABEB;
  432.     {$ENDC}
  433. FUNCTION DMIsMirroringOn(VAR isMirroringOn: BOOLEAN): OSErr;
  434.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  435.     INLINE $303C, $0218, $ABEB;
  436.     {$ENDC}
  437. FUNCTION DMMirrorDevices(gD1: GDHandle; gD2: GDHandle; displayState: Handle): OSErr;
  438.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  439.     INLINE $303C, $0619, $ABEB;
  440.     {$ENDC}
  441. FUNCTION DMUnmirrorDevice(gDevice: GDHandle; displayState: Handle): OSErr;
  442.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  443.     INLINE $303C, $041A, $ABEB;
  444.     {$ENDC}
  445. FUNCTION DMGetNextMirroredDevice(gDevice: GDHandle; VAR mirroredDevice: GDHandle): OSErr;
  446.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  447.     INLINE $303C, $041B, $ABEB;
  448.     {$ENDC}
  449. FUNCTION DMBlockMirroring: OSErr;
  450.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  451.     INLINE $701C, $ABEB;
  452.     {$ENDC}
  453. FUNCTION DMUnblockMirroring: OSErr;
  454.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  455.     INLINE $701D, $ABEB;
  456.     {$ENDC}
  457. FUNCTION DMGetDisplayMgrA5World(VAR dmA5: Ptr): OSErr;
  458.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  459.     INLINE $303C, $021E, $ABEB;
  460.     {$ENDC}
  461. FUNCTION DMGetDisplayIDByGDevice(displayDevice: GDHandle; VAR displayID: DisplayIDType; failToMain: BOOLEAN): OSErr;
  462.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  463.     INLINE $303C, $051F, $ABEB;
  464.     {$ENDC}
  465. FUNCTION DMGetGDeviceByDisplayID(displayID: DisplayIDType; VAR displayDevice: GDHandle; failToMain: BOOLEAN): OSErr;
  466.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  467.     INLINE $303C, $0520, $ABEB;
  468.     {$ENDC}
  469. FUNCTION DMSetDisplayComponent(theDevice: GDHandle; displayComponent: Component): OSErr;
  470.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  471.     INLINE $303C, $0421, $ABEB;
  472.     {$ENDC}
  473. FUNCTION DMGetDisplayComponent(theDevice: GDHandle; VAR displayComponent: Component): OSErr;
  474.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  475.     INLINE $303C, $0422, $ABEB;
  476.     {$ENDC}
  477. FUNCTION DMNewDisplay(VAR newDevice: GDHandle; driverRefNum: INTEGER; mode: LONGINT; reserved: LONGINT; displayID: DisplayIDType; displayComponent: Component; displayState: Handle): OSErr;
  478.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  479.     INLINE $303C, $0D23, $ABEB;
  480.     {$ENDC}
  481. FUNCTION DMDisposeDisplay(disposeDevice: GDHandle; displayState: Handle): OSErr;
  482.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  483.     INLINE $303C, $0424, $ABEB;
  484.     {$ENDC}
  485. FUNCTION DMResolveDisplayComponents: OSErr;
  486.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  487.     INLINE $7025, $ABEB;
  488.     {$ENDC}
  489. {$ENDC}
  490.  
  491. FUNCTION DMRegisterExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; nofifyOnFlags: INTEGER; whichPSN: ProcessSerialNumberPtr): OSErr;
  492.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  493.     INLINE $303C, $07EF, $ABEB;
  494.     {$ENDC}
  495. FUNCTION DMRemoveExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; whichPSN: ProcessSerialNumberPtr; removeFlags: INTEGER): OSErr;
  496.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  497.     INLINE $303C, $0726, $ABEB;
  498.     {$ENDC}
  499. FUNCTION DMNewAVPanelList(displayID: DisplayIDType; panelType: ResType; minimumFidelity: DMFidelityType; panelListFlags: LONGINT; reserved: LONGINT; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  500.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  501.     INLINE $303C, $0C27, $ABEB;
  502.     {$ENDC}
  503. FUNCTION DMNewAVEngineList(displayID: DisplayIDType; engineType: ResType; minimumFidelity: DMFidelityType; engineListFlags: LONGINT; reserved: LONGINT; VAR engineCount: DMListIndexType; VAR engineList: DMListType): OSErr;
  504.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  505.     INLINE $303C, $0C28, $ABEB;
  506.     {$ENDC}
  507. FUNCTION DMNewAVDeviceList(deviceType: ResType; deviceListFlags: LONGINT; reserved: LONGINT; VAR deviceCount: DMListIndexType; VAR deviceList: DMListType): OSErr;
  508.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  509.     INLINE $303C, $0A29, $ABEB;
  510.     {$ENDC}
  511. FUNCTION DMNewAVPortListByPortType(subType: ResType; portListFlags: LONGINT; reserved: LONGINT; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  512.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  513.     INLINE $303C, $0A2A, $ABEB;
  514.     {$ENDC}
  515. FUNCTION DMGetIndexedComponentFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: LONGINT; listIterator: DMComponentListIteratorUPP; userData: UNIV Ptr): OSErr;
  516.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  517.     INLINE $303C, $0A2B, $ABEB;
  518.     {$ENDC}
  519. FUNCTION DMDisposeList(panelList: DMListType): OSErr;
  520.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  521.     INLINE $303C, $022C, $ABEB;
  522.     {$ENDC}
  523. FUNCTION DMGetNameByAVID(theID: AVIDType; nameFlags: LONGINT; VAR name: Str255): OSErr;
  524.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  525.     INLINE $303C, $062D, $ABEB;
  526.     {$ENDC}
  527. FUNCTION DMNewAVIDByPortComponent(thePortComponent: Component; portKind: ResType; reserved: LONGINT; VAR newID: AVIDType): OSErr;
  528.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  529.     INLINE $303C, $082E, $ABEB;
  530.     {$ENDC}
  531. FUNCTION DMGetPortComponentByAVID(thePortID: DisplayIDType; VAR thePortComponent: Component; VAR theDesciption: ComponentDescription; VAR thePortKind: ResType): OSErr;
  532.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  533.     INLINE $303C, $082F, $ABEB;
  534.     {$ENDC}
  535. FUNCTION DMSendDependentNotification(notifyType: ResType; notifyClass: ResType; displayID: AVIDType; notifyComponent: ComponentInstance): OSErr;
  536.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  537.     INLINE $303C, $0830, $ABEB;
  538.     {$ENDC}
  539. FUNCTION DMDisposeAVComponent(theAVComponent: Component): OSErr;
  540.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  541.     INLINE $303C, $0231, $ABEB;
  542.     {$ENDC}
  543. FUNCTION DMSaveScreenPrefs(reserved1: LONGINT; saveFlags: LONGINT; reserved2: LONGINT): OSErr;
  544.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  545.     INLINE $303C, $0632, $ABEB;
  546.     {$ENDC}
  547. FUNCTION DMNewAVIDByDeviceComponent(theDeviceComponent: Component; portKind: ResType; reserved: LONGINT; VAR newID: DisplayIDType): OSErr;
  548.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  549.     INLINE $303C, $0833, $ABEB;
  550.     {$ENDC}
  551. FUNCTION DMNewAVPortListByDeviceAVID(theID: AVIDType; minimumFidelity: DMFidelityType; portListFlags: LONGINT; reserved: LONGINT; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  552.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  553.     INLINE $303C, $0C34, $ABEB;
  554.     {$ENDC}
  555. FUNCTION DMGetDeviceComponentByAVID(theDeviceID: AVIDType; VAR theDeviceComponent: Component; VAR theDesciption: ComponentDescription; VAR theDeviceKind: ResType): OSErr;
  556.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  557.     INLINE $303C, $0835, $ABEB;
  558.     {$ENDC}
  559. FUNCTION DMNewDisplayModeList(displayID: DisplayIDType; modeListFlags: LONGINT; reserved: LONGINT; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  560.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  561.     INLINE $303C, $0A36, $ABEB;
  562.     {$ENDC}
  563. FUNCTION DMGetIndexedDisplayModeFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: LONGINT; listIterator: DMDisplayModeListIteratorUPP; userData: UNIV Ptr): OSErr;
  564.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  565.     INLINE $303C, $0A37, $ABEB;
  566.     {$ENDC}
  567. FUNCTION DMGetGraphicInfoByAVID(theID: AVIDType; VAR theAVPcit: PicHandle; VAR theAVIconSuite: Handle; VAR theAVLocation: AVLocationRec): OSErr;
  568.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  569.     INLINE $303C, $0838, $ABEB;
  570.     {$ENDC}
  571. FUNCTION DMGetAVPowerState(theID: AVIDType; getPowerState: AVPowerStatePtr; reserved1: LONGINT): OSErr;
  572.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  573.     INLINE $303C, $0839, $ABEB;
  574.     {$ENDC}
  575. FUNCTION DMSetAVPowerState(theID: AVIDType; setPowerState: AVPowerStatePtr; powerFlags: LONGINT; displayState: Handle): OSErr;
  576.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  577.     INLINE $303C, $083A, $ABEB;
  578.     {$ENDC}
  579. FUNCTION DMGetDeviceAVIDByPortAVID(portAVID: AVIDType; VAR deviceAVID: AVIDType): OSErr;
  580.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  581.     INLINE $303C, $043B, $ABEB;
  582.     {$ENDC}
  583. FUNCTION DMGetEnableByAVID(theAVID: AVIDType; VAR isAVIDEnabledNow: BOOLEAN; VAR canChangeEnableNow: BOOLEAN): OSErr;
  584.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  585.     INLINE $303C, $063C, $ABEB;
  586.     {$ENDC}
  587. FUNCTION DMSetEnableByAVID(theAVID: AVIDType; doEnable: BOOLEAN; displayState: Handle): OSErr;
  588.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  589.     INLINE $303C, $053D, $ABEB;
  590.     {$ENDC}
  591. FUNCTION DMGetDisplayMode(theDevice: GDHandle; switchInfo: VDSwitchInfoPtr): OSErr;
  592.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  593.     INLINE $303C, $043E, $ABEB;
  594.     {$ENDC}
  595. FUNCTION DMConfirmConfiguration(filterProc: ModalFilterUPP; confirmFlags: UInt32; reserved: UInt32; displayState: Handle): OSErr;
  596.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  597.     INLINE $303C, $083F, $ABEB;
  598.     {$ENDC}
  599.  
  600. {$ALIGN RESET}
  601. {$POP}
  602.  
  603. {$SETC UsingIncludes := DisplaysIncludes}
  604.  
  605. {$ENDC} {__DISPLAYS__}
  606.  
  607. {$IFC NOT UsingIncludes}
  608.  END.
  609. {$ENDC}
  610.